Documents are often drafted in a hierarchically structured way in which portions of the document represents nodes in a hierarchy, and there is some convention for recognizing interrelationships between the nodes. Organization into some hierarchical structure is helpful as it enables data to be more effectively organized and identified within the document. That is one of the driving motivations for the development of eXtensible Markup Language or XML. As an example, there have even been standards for the definition of application programs based on hierarchically structured documents. One such standard is referred to as eXtensible Application Markup Language (XAML).
However, such hierarchically structured documents can become quite complex and cumbersome to deal with as the number of nodes in the hierarchy increase. However, increased nodes are often required to deal with complex data such as, for example, a complex XAML document that describes a sophisticated software program.